🚀 GitHub Copilot Upgrade for .NET — AI-инструмент для миграции проектов
Microsoft запустила GitHub Copilot app modernization – Upgrade for .NET, расширение для Visual Studio, которое помогает автоматизировать обновление ваших .NET-приложений на новые версии (например, .NET 8 и далее) :contentReference[oaicite:0]{index=0}.
✨ Как это работает:
1. Определение цели
В чате Copilot вы указываете, что хотите обновить (например, "Upgrade my solution to .NET 8") :contentReference[oaicite:1]{index=1}.
2. Умный план обновления
Сначала создаётся план миграции — анализируется зависимостная структура и порядок обновления проектов учитывается автоматически :contentReference[oaicite:2]{index=2}.
3. Автоматический апгрейд
Copilot применяет изменения: обновляет .csproj, зависимости, исправляет API-разрывы — всё выполняется автоматически :contentReference[oaicite:3]{index=3}.
4. Вовлечение разработчика
Если возникают спорные моменты, инструмент запрашивает ваше вмешательство и запоминает, как вы решаете проблему, чтобы применить ту же логику в будущем :contentReference[oaicite:4]{index=4}.
5. Запуск тестов и фиксация изменений
После всех преобразований запускаются unit-тесты (если есть), создаются git-коммиты — вы проверяете и сливаете изменения :contentReference[oaicite:5]{index=5}.
🛠 Почему это полезно:
• Экономия времени и сил — планирует и правит код вместо вас
• Минимизирует риски — вручную вы запустите тесты и проверите изменения
• Адаптация под ваш стиль — Copilot учится на ваших правках
• Интеграция с IDE — работает внутри Visual Studio через Agent Mode и chat-бота :contentReference[oaicite:6]{index=6}.
📋 Что входит:
- Автоматические преобразования кода под новую платформу (.csproj, зависимости, API)
- Гибкие настройки (проекты, управление уязвимыми пакетами и др.)
- Обучение на ручных правках и повторное применение
- Автоматическое создание коммитов
- Запуск unit-тестов после апгрейда
- Поддержка Copilot Agent Mode в Visual Studio 17.14+ и .NET workload :contentReference[oaicite:7]{index=7}.
⚡ Как начать:
1. Установите расширение “GitHub Copilot app modernization – Upgrade for .NET” из Marketplace
2. Включите Agent Mode в Visual Studio (Tools → GitHub → Copilot Chat → Agent Mode)
3. Включите инструмент Upgrade в Copilot Chat
4. Либо нажмите правой кнопкой на решение → “Upgrade with GitHub Copilot”
Либо напишите в чате: “Upgrade my solution to .NET 8” :contentReference[oaicite:8]{index=8}.
https://devblogs.microsoft.com/dotnet/github-copilot-upgrade-dotnet/
Microsoft запустила GitHub Copilot app modernization – Upgrade for .NET, расширение для Visual Studio, которое помогает автоматизировать обновление ваших .NET-приложений на новые версии (например, .NET 8 и далее) :contentReference[oaicite:0]{index=0}.
✨ Как это работает:
1. Определение цели
В чате Copilot вы указываете, что хотите обновить (например, "Upgrade my solution to .NET 8") :contentReference[oaicite:1]{index=1}.
2. Умный план обновления
Сначала создаётся план миграции — анализируется зависимостная структура и порядок обновления проектов учитывается автоматически :contentReference[oaicite:2]{index=2}.
3. Автоматический апгрейд
Copilot применяет изменения: обновляет .csproj, зависимости, исправляет API-разрывы — всё выполняется автоматически :contentReference[oaicite:3]{index=3}.
4. Вовлечение разработчика
Если возникают спорные моменты, инструмент запрашивает ваше вмешательство и запоминает, как вы решаете проблему, чтобы применить ту же логику в будущем :contentReference[oaicite:4]{index=4}.
5. Запуск тестов и фиксация изменений
После всех преобразований запускаются unit-тесты (если есть), создаются git-коммиты — вы проверяете и сливаете изменения :contentReference[oaicite:5]{index=5}.
🛠 Почему это полезно:
• Экономия времени и сил — планирует и правит код вместо вас
• Минимизирует риски — вручную вы запустите тесты и проверите изменения
• Адаптация под ваш стиль — Copilot учится на ваших правках
• Интеграция с IDE — работает внутри Visual Studio через Agent Mode и chat-бота :contentReference[oaicite:6]{index=6}.
📋 Что входит:
- Автоматические преобразования кода под новую платформу (.csproj, зависимости, API)
- Гибкие настройки (проекты, управление уязвимыми пакетами и др.)
- Обучение на ручных правках и повторное применение
- Автоматическое создание коммитов
- Запуск unit-тестов после апгрейда
- Поддержка Copilot Agent Mode в Visual Studio 17.14+ и .NET workload :contentReference[oaicite:7]{index=7}.
⚡ Как начать:
1. Установите расширение “GitHub Copilot app modernization – Upgrade for .NET” из Marketplace
2. Включите Agent Mode в Visual Studio (Tools → GitHub → Copilot Chat → Agent Mode)
3. Включите инструмент Upgrade в Copilot Chat
4. Либо нажмите правой кнопкой на решение → “Upgrade with GitHub Copilot”
Либо напишите в чате: “Upgrade my solution to .NET 8” :contentReference[oaicite:8]{index=8}.
https://devblogs.microsoft.com/dotnet/github-copilot-upgrade-dotnet/
🔍 OmniSharp — интеллектуальная подсказка для C# без Visual Studio. Этот движок на базе Roslyn превращает любой редактор кода в полноценную C#-IDE. В отличие от монолитных решений, он работает как отдельный сервер, предоставляя автодополнение, навигацию по коду и анализ проектов даже в минималистичных средах разработки.
Проект запускается под .NET 6 на Windows и через Mono на Linux/macOS. Интеграция с редакторами занимает буквально пару строк конфига, а сборки из мастер-ветки доступны сразу после каждого коммита.
🤖 GitHub
@csharp_ci
Проект запускается под .NET 6 на Windows и через Mono на Linux/macOS. Интеграция с редакторами занимает буквально пару строк конфига, а сборки из мастер-ветки доступны сразу после каждого коммита.
🤖 GitHub
@csharp_ci
Что выведет на экран этот код?
Anonymous Quiz
26%
True, True, True
13%
True, True, False
32%
True, False, False
19%
False, False, False
9%
🥒
🌐 Squidex — автономный CMS с открытым исходным кодом. Этот проект переосмысливает традиционный подход к системам управления контентом, предлагая вместо готового интерфейса мощный API с поддержкой OData-фильтров и Swagger-спецификаций. Разработчики могут использовать Squidex как основу для сайтов, мобильных приложений или серверных решений, сохраняя полный контроль над фронтендом.
Система построена на ASP.NET Core с архитектурой CQRS и работает как на Windows, так и на Linux. В отличие от аналогов, Squidex не навязывает конкретную клиентскую часть — вы сами решаете, как визуализировать контент.
🤖 GitHub
@csharp_ci
Система построена на ASP.NET Core с архитектурой CQRS и работает как на Windows, так и на Linux. В отличие от аналогов, Squidex не навязывает конкретную клиентскую часть — вы сами решаете, как визуализировать контент.
🤖 GitHub
@csharp_ci
📒 .NET Interactive — мультиязычные интерактивные блокноты от Microsoft.
Для разработчиков, уставших переключаться между Jupyter и IDE инструмент предлагает необычное решение — блокноты, где в соседних ячейках могут работать C#, Python, SQL и даже PowerShell. Проект поддерживает обмен переменными между языками: например, результат SQL-запроса можно сразу передать в DataFrame на C#.
Основа технологии — движок, который работает как в Visual Studio Code, так и в классическом Jupyter. Особенно удобно для ETL-задач: можно собрать весь пайплайн в одном файле, от загрузки данных через KQL до визуализации на R.
🤖 GitHub
@csharp_ci
Для разработчиков, уставших переключаться между Jupyter и IDE инструмент предлагает необычное решение — блокноты, где в соседних ячейках могут работать C#, Python, SQL и даже PowerShell. Проект поддерживает обмен переменными между языками: например, результат SQL-запроса можно сразу передать в DataFrame на C#.
Основа технологии — движок, который работает как в Visual Studio Code, так и в классическом Jupyter. Особенно удобно для ETL-задач: можно собрать весь пайплайн в одном файле, от загрузки данных через KQL до визуализации на R.
🤖 GitHub
@csharp_ci
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 2 июня.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Ты научишься:
✅ Разбивать приложение на слои в соответствии с Clean Architecture
✅ Формировать Domain Model и применять тактические паттерны DDD
✅ Реализовывать Use Case как Command/Query
✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
✅ Писать 3 вида тестов для разных слоев приложения
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
✅ Проверим все домашки
✅ Поддержим в чате
✅ Проведем живые разборы
✅ Ответим на все вопросы
📕 Сертификат об участии по итогам прохождения курса.
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwTjbcd
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 2 июня.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Ты научишься:
✅ Разбивать приложение на слои в соответствии с Clean Architecture
✅ Формировать Domain Model и применять тактические паттерны DDD
✅ Реализовывать Use Case как Command/Query
✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
✅ Писать 3 вида тестов для разных слоев приложения
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
✅ Проверим все домашки
✅ Поддержим в чате
✅ Проведем живые разборы
✅ Ответим на все вопросы
📕 Сертификат об участии по итогам прохождения курса.
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqwTjbcd&utm_campaign=3
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwTjbcd
This media is not supported in your browser
VIEW IN TELEGRAM
🧹 Разделение классов на отдельные файлы в ReSharper — автоматически
Если вы работаете с большими C#‑файлами, где собрано по 3–5 классов в одном месте, ReSharper теперь позволяет разнести все классы по отдельным файлам в один клик.
🔧 Что умеет:
▪️ Автоматически определяет все вложенные классы, интерфейсы, enum’ы
▪️ Создаёт новые `.cs`‑файлы с соответствующими именами
▪️ Упрощает навигацию и соблюдение best practices
📌 Где искать:
Refactor This → Move to Separate Files
или
Context Action (Alt+Enter) → Move All Types to Separate Files
📎 Инструкция от JetBrains:
https://www.jetbrains.com/help/resharper/Move_classes_into_separate_files_in_one_go.html
💡 Подходит для чистки легаси-кода и ускорения навигации в больших проектах .NET.
#CSharp #ReSharper #Refactoring #JetBrains #DotNet #DevTools #CodeQuality
Если вы работаете с большими C#‑файлами, где собрано по 3–5 классов в одном месте, ReSharper теперь позволяет разнести все классы по отдельным файлам в один клик.
🔧 Что умеет:
▪️ Автоматически определяет все вложенные классы, интерфейсы, enum’ы
▪️ Создаёт новые `.cs`‑файлы с соответствующими именами
▪️ Упрощает навигацию и соблюдение best practices
📌 Где искать:
Refactor This → Move to Separate Files
или
Context Action (Alt+Enter) → Move All Types to Separate Files
📎 Инструкция от JetBrains:
https://www.jetbrains.com/help/resharper/Move_classes_into_separate_files_in_one_go.html
💡 Подходит для чистки легаси-кода и ускорения навигации в больших проектах .NET.
#CSharp #ReSharper #Refactoring #JetBrains #DotNet #DevTools #CodeQuality
🚀 HybridCache
Это решение давней проблемы с разделением между
🔧 Что даёт HybridCache:
• Единый API для in-memory и distributed кэша
• Настраиваемая сериализация
• Stampede protection (анти-нагрузочная защита)
• Удаление по тегам
🧠 Как работает
1. Проверяет локальный и распределённый кэш
2. Если нет — вызывает фабричный метод
3. Кэширует результат и возвращает его
🛡️ Stampede protection: только один запрос на ключ запускает фабрику, остальные ждут — никакой гонки или перегрузки БД.
📌 Сниппет на .NET 9 выглядит так:
HybridCache доступен для ASP.NET Core
Все разработчики могут воспользоваться HybridCache для более эффективного управления кэшем в приложениях на ASP.NET Core.
Это решение давней проблемы с разделением между
IMemoryCache
и IDistributedCache
.🔧 Что даёт HybridCache:
• Единый API для in-memory и distributed кэша
• Настраиваемая сериализация
• Stampede protection (анти-нагрузочная защита)
• Удаление по тегам
🧠 Как работает
GetOrCreateAsync
:1. Проверяет локальный и распределённый кэш
2. Если нет — вызывает фабричный метод
3. Кэширует результат и возвращает его
🛡️ Stampede protection: только один запрос на ключ запускает фабрику, остальные ждут — никакой гонки или перегрузки БД.
📌 Сниппет на .NET 9 выглядит так:
app.MapGet("/products/{id}", async (
int id,
HybridCache cache,
ProductDbContext db,
CancellationToken ct) =>
{
var product = await cache.GetOrCreateAsync(
$"product-{id}",
async token =>
{
return await db.Products
.Include(p => p.Category)
.FirstOrDefaultAsync(p => p.Id == id, token);
},
cancellationToken: ct
);
return product is null ? Results.NotFound() : Results.Ok(product);
});
HybridCache доступен для ASP.NET Core
Все разработчики могут воспользоваться HybridCache для более эффективного управления кэшем в приложениях на ASP.NET Core.
Что выведет на экран это код?
Anonymous Quiz
5%
123
25%
456
46%
798
16%
Будет ошибка компиляции.
8%
🥒
🔥 Новая эра C# — dotnet run app.cs в .NET 10 Preview 4
Теперь вы можете запускать C#-файлы напрямую, без создания проекта:
📌 Что нового:
Без .csproj — пишите и запускайте C#-код как скрипты.
Директивы в файле:
#:package — подключение NuGet-пакетов.
#:sdk — выбор SDK (например, для ASP.NET).
#:property — установка свойств сборки.
Поддержка shebang — делайте .cs-файлы исполняемыми скриптами в Unix-системах.
🛠 Преимущества:
Быстрый старт без лишних настроек.
Идеально для прототипирования и обучения.
Лёгкий переход от скрипта к полноценному проекту с dotnet project convert.
🔗 Подробнее: devblogs.microsoft.com/dotnet/announcing-dotnet-run-app
@csharp_ci
Теперь вы можете запускать C#-файлы напрямую, без создания проекта:
dotnet run hello.cs
📌 Что нового:
Без .csproj — пишите и запускайте C#-код как скрипты.
Директивы в файле:
#:package — подключение NuGet-пакетов.
#:sdk — выбор SDK (например, для ASP.NET).
#:property — установка свойств сборки.
Поддержка shebang — делайте .cs-файлы исполняемыми скриптами в Unix-системах.
🛠 Преимущества:
Быстрый старт без лишних настроек.
Идеально для прототипирования и обучения.
Лёгкий переход от скрипта к полноценному проекту с dotnet project convert.
🔗 Подробнее: devblogs.microsoft.com/dotnet/announcing-dotnet-run-app
@csharp_ci
Media is too big
VIEW IN TELEGRAM
Какой язык более читаемый: C# или Python? Программисты забивают на безопасность?
Обсуждаем эти и другие холиварные темы в шоу Контура «Согласен — не согласен», где сталкиваются два представителя разных IT-профессий, каждый со своим мнением и бэкграундом.
Cмотрите самые горячие выпуски🔥
➡️ С# vs Python-разработчики: какой язык круче
➡️ Джун vs cеньор-разработчики: нужны ли джуны в бигтехе
➡️ Бэкендер vs фронтендер: кто больше страдает
➡️ Программист vs учитель информатики: делать ли программирование обязательным в школе
➡️ Безопасник vs программист: кто должен думать об уязвимости продукта
Новые дискуссии выходят в канале @KonturTech каждые две недели. Будет эмоционально, но с уважением.
16+. Реклама. АО «ПФ «СКБ Контур», ОГРН 1026605606620. 620144, Екатеринбург, ул. Народной Воли, 19А. Erid: 2SDnjcTtt77
Обсуждаем эти и другие холиварные темы в шоу Контура «Согласен — не согласен», где сталкиваются два представителя разных IT-профессий, каждый со своим мнением и бэкграундом.
Cмотрите самые горячие выпуски
Новые дискуссии выходят в канале @KonturTech каждые две недели. Будет эмоционально, но с уважением.
16+. Реклама. АО «ПФ «СКБ Контур», ОГРН 1026605606620. 620144, Екатеринбург, ул. Народной Воли, 19А. Erid: 2SDnjcTtt77
Please open Telegram to view this post
VIEW IN TELEGRAM
🔐 AuthenticationProperties в ASP.NET Core — недооценённый, но важный механизм
Если вы используете куки или OpenID Connect в ASP.NET Core, то наверняка сталкивались с объектом
💡 Что можно сделать с AuthenticationProperties:
• ⏳ Установить срок действия куки:
• ↩️ Указать URL возврата после логина:
• 🧭 Добавить временные метки, элементы состояния, флаги:
Например, IsPersistent, IssuedUtc, AllowRefresh, и кастомные значения.
• 🧠 Используется в:
HttpContext.SignInAsync(...)
ChallengeAsync(...) для OIDC
редиректах после логина/логаута
🛠️ Это ключевой объект, если вы хотите более гибко управлять логикой входа, выхода и жизненным циклом сессии в ASP.NET Core.
📎 Полный разбор:
https://blog.duendesoftware.com/posts/20250527-the-role-of-authenticationproperties-in-aspnet-core
@csharp_ci
Если вы используете куки или OpenID Connect в ASP.NET Core, то наверняка сталкивались с объектом
AuthenticationProperties
. Он не просто "дополнительные параметры" — это мощный инструмент управления поведением аутентификации.💡 Что можно сделать с AuthenticationProperties:
• ⏳ Установить срок действия куки:
new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddHours(1) }
• ↩️ Указать URL возврата после логина:
new AuthenticationProperties { RedirectUri = "/dashboard" }
• 🧭 Добавить временные метки, элементы состояния, флаги:
Например, IsPersistent, IssuedUtc, AllowRefresh, и кастомные значения.
• 🧠 Используется в:
HttpContext.SignInAsync(...)
ChallengeAsync(...) для OIDC
редиректах после логина/логаута
🛠️ Это ключевой объект, если вы хотите более гибко управлять логикой входа, выхода и жизненным циклом сессии в ASP.NET Core.
📎 Полный разбор:
https://blog.duendesoftware.com/posts/20250527-the-role-of-authenticationproperties-in-aspnet-core
@csharp_ci
🚀 Как ускорить ASP.NET Core API: 6 рабочих приёмов
Если ваш API на .NET тормозит под нагрузкой — вот краткий гайд, как прокачать его производительность. ):
⚡ 1. Async/await везде
Избегай
📉 2. Добавь пагинацию
Не отдавай 10 000 записей за раз. Параметры
🚫 3. Используй `AsNoTracking` в EF Core
Если данные не редактируются — отключай отслеживание изменений. Это экономит память и ускоряет запросы.
📦 4. Включи сжатие ответов
Подключи Gzip или Brotli, особенно если отдаёшь большие JSON-объекты.
🧠 5. Кэшируй часто запрашиваемые данные
Используй
📤 6. Передавай DTO, а не сущности
Не светите внутренними моделями. Создавай DTO и отправляй только нужные поля.
🧪 Подробнее с примерами кода — в оригинальном сайде:
https://dev.to/this-is-learning/tips-for-improving-api-performance-in-aspnet-core-n4o
@csharp_ci
Если ваш API на .NET тормозит под нагрузкой — вот краткий гайд, как прокачать его производительность. ):
⚡ 1. Async/await везде
Избегай
.Result
и .Wait()
— они блокируют потоки. Асинхронность улучшает масштабируемость.📉 2. Добавь пагинацию
Не отдавай 10 000 записей за раз. Параметры
page
и pageSize
— must-have для любых списков.🚫 3. Используй `AsNoTracking` в EF Core
Если данные не редактируются — отключай отслеживание изменений. Это экономит память и ускоряет запросы.
📦 4. Включи сжатие ответов
Подключи Gzip или Brotli, особенно если отдаёшь большие JSON-объекты.
🧠 5. Кэшируй часто запрашиваемые данные
Используй
IMemoryCache
или Redis
— уменьши нагрузку на базу.📤 6. Передавай DTO, а не сущности
Не светите внутренними моделями. Создавай DTO и отправляй только нужные поля.
🧪 Подробнее с примерами кода — в оригинальном сайде:
https://dev.to/this-is-learning/tips-for-improving-api-performance-in-aspnet-core-n4o
@csharp_ci
Что выведет на экран это код?
Anonymous Quiz
27%
Baz Bar Foo Hello
12%
Baz Foo Hello Bar
13%
Baz Hello Foo Bar
28%
Hello Baz Bar Foo
20%
🥒
Давно хотели освоить программирование, но вас останавливала нехватка времени или строгие дедлайны? Тогда советуем обратить внимание на бесплатные курсы Яндекс Лицея по Python, Go и C++ для начинающих.
Заниматься на них можно когда и где угодно, ведь уроки доступны онлайн и в них нет дедлайнов! Вас ждут:
✅ Качество: занятия разработаны практикующими экспертами Яндекса.
✅ Свобода: пользуйтесь автоматической проверкой решений и задавайте вопросы через поддержку.
✅ Перспективы: после завершения вы получите уверенную базу для дальнейшего роста, а также сертификат, который пригодится при поступлении в Яндекс Лицей.
Не откладывайте на потом — выберите курс и зарегистрируйтесь на сайте!
Заниматься на них можно когда и где угодно, ведь уроки доступны онлайн и в них нет дедлайнов! Вас ждут:
✅ Качество: занятия разработаны практикующими экспертами Яндекса.
✅ Свобода: пользуйтесь автоматической проверкой решений и задавайте вопросы через поддержку.
✅ Перспективы: после завершения вы получите уверенную базу для дальнейшего роста, а также сертификат, который пригодится при поступлении в Яндекс Лицей.
Не откладывайте на потом — выберите курс и зарегистрируйтесь на сайте!